<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
 HTMLParser Library $Name: v1_5 $ - A java-based parser for HTML
 http://sourceforge.org/projects/htmlparser
 Copyright (C) 2004 Somik Raha

 Revision Control Information

 $Source: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/package.html,v $
 $Author: derrickoswald $
 $Date: 2005/04/05 00:48:12 $
 $Revision: 1.22 $

 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation; either
 version 2.1 of the License, or (at your option) any later version.

 This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 Lesser General Public License for more details.

 You should have received a copy of the GNU Lesser General Public
 License along with this library; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-->
</head>
<body>
The basic API classes which will be used by most developers when working with
the HTML Parser.
<p>The {@link org.htmlparser.Parser} class is the main high level class that
provides simplified access to the contents of an HTML page.
A wide range of methods is available to customize the operation of the Parser,
as well as access specific pieces of the page as
{@link org.htmlparser.Node Nodes}.</p>
<p>The {@link org.htmlparser.NodeFactory} interface specifies the requirements
for a developer to have the Parser or Lexer generate nodes. Three types of
nodes are required: {@link org.htmlparser.Text}, {@link org.htmlparser.Remark}
and {@link org.htmlparser.Tag Tags}. Tags contain lists
of child nodes and {@link org.htmlparser.Attribute attributes}.</p>
<p>The only provided implementation of the NodeFactory interface
is the {@link org.htmlparser.PrototypicalNodeFactory} which
operates by holding example nodes and cloning them as needed to satisfy the
requests for nodes by the Parser. By default, a Lexer is it's own NodeFactory,
returning new {@link org.htmlparser.nodes.TextNode},
{@link org.htmlparser.nodes.RemarkNode} and undifferentiated
{@link org.htmlparser.nodes.TagNode Tagnodes} (see the
{@link org.htmlparser.nodes nodes} package), but when the parser uses a lexer
it replaces this behaviour with a PrototypicalNodeFactory to return a rich
set of specific tags (see the {@link org.htmlparser.tags tags} package).</p>
<p>The {@link org.htmlparser.NodeFilter} interface is used by the filtering
code to determine if a node meets a certain criteria. Some generic examples of
filters can be found in the {@link org.htmlparser.filters filters} package.
</body>
</html>
